home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #9 / Amiga Plus CD - 2004 - No. 09.iso / amigaplus / tools / amigaos4_only / ifxlite / install < prev    next >
Text File  |  2004-08-03  |  14KB  |  519 lines

  1. ; $VER: Installation script for ImageFX Light 1.0 ( 8. September 2003)
  2. ; © Dave Crawford
  3. ; Created with GoldED 6.2
  4. ; Editted by Ron van Herk on july 24th 2004 for AmigaOS4 version
  5.  
  6. ; error handling
  7. (onerror
  8.  
  9.     (if (> @ioerr 0)
  10.         (
  11.             (message
  12.                 ("An error has occurred during installation. Please check the log file to understand the error.")
  13.             )
  14.         )
  15.     )
  16.     (exit (quiet))
  17. )
  18. ;----- Strings -----;
  19.  
  20. ;--English
  21. (set #msg_yes    "Yes")
  22. (set #msg_no     "No")
  23. (set #welmsg     "ImageFX Lite (v 3 w/PowerStation)\n\nhttp://www.NovaDesign.com\n\nImageFX, ImageFX Lite, and PowerStation ©1996 - 2003 Nova Design.")
  24. (set #def_drawer "Please choose where the ImageFX3:PowerStation drawer will be created:")
  25. (set #def_help   (cat
  26.                        "Installation creates a new folder for ImageFX Lite at the location you specify."
  27.                        "\n\nIf you have ImageFX 4 (or higher):\n"
  28.                        "Select a different location on your harddrive to install ImageFX Lite."
  29.                        "This will allow you to have both ImageFX and ImageFX Lite on your system."
  30.                        "\nlook for PowerStation (also included) to upgrade your ImageFX4 system with PowerPC modules."
  31.                        "\n\n"
  32.                        "If you have ImageFX3:\n"
  33.                        "Make a back up of your ImageFX directory.  ImageFX Lite will replace ImageFX3."
  34.                        "\n\nVisit NovaDesign.com for upgrade information, access to resource material, and more."
  35.                   )
  36. )
  37. (set #inv_sn     "Invalid Serial Number")
  38. (set #enter_sn   "Please enter your AmigaOS4 Serial Number - if available")
  39. (set #msg_getnm  "Please enter your Name (first and last):")
  40. (set #msg_getstr "Please enter your street address and apartment number:")
  41. (set #msg_getpst "Please enter your city, state (or province) postal-code:")
  42. (set #msg_getcou "Please enter your country:")
  43. (set #msg_geteml "Please enter your e-mail address:")
  44. (set #msg_askcom "Sound off! \nDo you have any additional comments you would like to add?")
  45. (set #msg_getcom "Enter your comments below:")
  46. (set #msg_uinfo  "User Information\n\nWe collect some personal information to provide you with upgrades and/or special offers as they become available.  This information is held in confidentiality, and will not be shared or sold.")
  47. (set #msg_txtfl  "Building Registration Card...")
  48. (set #msg_md2    "\n\nMicroDot2 installation detected.\nRegistration can be completed by selecting \"send\" in your email window when it appears. Please press \"Proceed\" to verify your user-information.\n\nShould there be a problem, a duplicate message is saved to the ImageFX directory.")
  49. (set #msg_regco  "\n\n\nRegistration file complete.  Please send the file named \"Register_ME\" to sales@novadesign.com, this will activate your user-account with us and allow you to take advantage of special offers.")
  50. (set #msg_stup   "To operate properly, ImageFX needs to make an assign to your user-startup.\n\nPrevious ImageFX4.x installations will not be affected.")
  51. (set #msg_frstrn "Preparing to run ImageFX for the first time...")
  52. (set #font_skip  "\n\nXHelvetica to Helvetica name conversion skipped...")
  53. (set #msg_ready  "\n\n\nImageFX Lite (ImageFX3.3 with PowerStation) is now ready to run!\n\nUpgrade to ImageFX4.5 at www.novadesign.com. \n\nExtra PowerStation modules compiled and updated by Sigbjørn \"CISC\" Skjæret.\nInstaller by Dave \"Targhan\" Crawford")
  54. (set #msg_cpy_1  "\n\nCopying system files...")
  55. (set #msg_cpy_2  "\n\n\nNow copying ImageFX Lite to your HardDrive.")
  56.  
  57. ;----- Functions -----;
  58. ;--
  59. (procedure INITS
  60.   (set @default-dest
  61.     (askdir
  62.         (prompt #def_drawer)
  63.         (help #def_help)
  64.         (default @default-dest)
  65.     )
  66.   )
  67.   (set #sernum "0")
  68.   (set #scount 0)
  69. )
  70. ;--
  71. (procedure GETSERIAL
  72.   (if (> #scount 2) (exit #inv_sn))
  73.   (set #sernum
  74.        (askstring
  75.           (prompt #enter_sn)
  76.            (help @askstring-help)
  77.            (default "")
  78.        )
  79.   )
  80.   (set #scount
  81.   (+ #scount 1)
  82.   )
  83. )
  84. ;--
  85. (procedure GETNAME
  86.    (if (<= (strlen
  87.      (set #uname
  88.          (askstring
  89.              (prompt #msg_getnm)
  90.              (help @askstring-help)
  91.              (default "")
  92.          )
  93.      )) 3)
  94.      (GETNAME)
  95.    )
  96. )
  97. ;--
  98. (procedure GETSTREET
  99.   (if (<= (strlen
  100.     (set #ustreet
  101.        (askstring
  102.            (prompt #msg_getstr)
  103.            (help @askstring-help)
  104.            (default "")
  105.        )
  106.      )) 5)
  107.      (GETSTREET)
  108.    )
  109. )
  110. ;--
  111. (procedure GETPOSTAL
  112.   (if (<= (strlen
  113.      (set #upostal
  114.        (askstring
  115.            (prompt #msg_getpst)
  116.            (help @askstring-help)
  117.            (default "")
  118.        )
  119.      )) 8)
  120.      (GETPOSTAL)
  121.    )
  122. )
  123. ;--
  124. (procedure GETCOUNTRY
  125.   (if (<= (strlen
  126.      (set #ucountry
  127.       (askstring
  128.           (prompt #msg_getcou)
  129.           (help @askstring-help)
  130.           (default "")
  131.       )
  132.      )) 2)
  133.     (GETCOUNTRY)
  134.   )
  135. )
  136. ;--
  137. (procedure GETEMAIL
  138.   (if (<= (strlen
  139.         (set #uemail
  140.            (askstring
  141.               (prompt #msg_geteml)
  142.               (help @askstring-help)
  143.               (default "")
  144.            )
  145.         )
  146.       ) 8)
  147.       (GETEMAIL)
  148.    )
  149. )
  150. ;--
  151. (procedure GETCOMMENT
  152.   (set #ucyn
  153.       (askchoice
  154.           (prompt #msg_askcom)
  155.           (help @askchoice-help)
  156.           (choices
  157.               #msg_yes
  158.               #msg_no
  159.           )
  160.           (default 0)
  161.       )
  162.   )
  163.   (if (= #ucyn 0)
  164.       (
  165.       (set #ucomment
  166.           (askstring
  167.               (prompt #msg_getcom)
  168.               (help @askstring-help)
  169.               (default "")
  170.           )
  171.       )
  172.       )
  173.       ; else
  174.       (
  175.       (working "...")
  176.       )
  177.   )
  178. )
  179. (procedure MICRODOT
  180.  ;-------------------------------------------------------------
  181.     (textfile
  182.      (prompt #msg_txtfl)
  183.      (help @textfile-help)
  184.      (dest "T:mailfile")
  185.      (safe)
  186.      (append #regfx)
  187.     )
  188.  
  189.     (set #mdmessage
  190.       (cat
  191.         "/**/\n"
  192.         "if show(ports,md.1) then do\n"
  193.         "  address MD.1 \"NewMsgWindow To sales@novadesign.com SUBJECT IFXLite_Registration CONTENTS=T:mailfile\"\n"
  194.         "  address MD.1 \"show\"\n"
  195.         " end\n"
  196.         "else do\n"
  197.         "  if exists('env:vapor/MD2_LASTUSEDDIR') then do\n"
  198.         "    open('MDPATH','ENV:Vapor/MD2_LASTUSEDDIR',READ)\n"
  199.         "    startmd = readln('MDPATH')\n"
  200.         "    close('MDPATH')\n"
  201.         "    startmd = startmd || '/Microdot'\n"
  202.         "    gomd = 'run >NIL: ' || startmd\n"
  203.         "    address command gomd\n"
  204.         "    address command 'wait 1'\n"
  205.         "    address MD.1 'NewMsgWindow To sales@novadesign.com SUBJECT IFXLite_Registration CONTENTS=T:mailfile'\n"
  206.         "   end\n"
  207.         " end\n"
  208.       )
  209.     )
  210.  
  211.     (textfile
  212.      (prompt #msg_txtfl)
  213.      (help @textfile-help)
  214.      (dest "T:fxmail.rexx")
  215.      (append #mdmessage)
  216.      (safe)
  217.     )
  218.  
  219.   (rexx "T:fxmail.rexx" (prompt "bleh") (help @rexx_help) (safe))
  220.   ;clean up
  221.   (delete "T:mailfile")
  222.   (delete "T:fxmail.rexx")
  223.  ;---------------------------------------------------------------
  224. )
  225. ;--
  226. (procedure GETUSERINFO
  227.   (GETNAME)
  228.   (GETEMAIL)
  229.   (GETSTREET)
  230.   (GETPOSTAL)
  231.   (GETCOUNTRY)
  232.   (GETCOMMENT)
  233.   (set #ereg_1 "\n-ImageFX Lite AmigaOS4 Edition Registration Information-\n\n")
  234.   (set #ereg_2 (cat "Name: " #uname))
  235.   (set #ereg_3 (cat "\nEmail: " #uemail))
  236.  
  237.   (set #ereg_4 (cat "\nAddress: " #ustreet))
  238.   (set #ereg_5 (cat "\nCity/Postal: " #upostal))
  239.   (set #ereg_6 (cat "\nCountry: " #ucountry "\n"))
  240.   (if (= #ucyn 0)(set #ereg_7 (cat "\n\n===Comments===\n" #ucomment))(set #ereg_7 "\n-no user comment-\n"))
  241.   (set #regfx_1
  242.     (cat #ereg_1 #ereg_2 #ereg_3 #ereg_4)
  243.   )
  244.   (set #regfx_2
  245.     (cat #ereg_5 #ereg_6 #sernum #ereg_7)
  246.   )
  247.   (set #regfx (cat #regfx_1 #regfx_2))
  248.   (if (= (exists @default-dest) 2)
  249.     (
  250.       (textfile
  251.          (prompt #msg_txtfl)
  252.          (help @textfile-help)
  253.          (dest (tackon @default-dest "Register_ME"))
  254.          (append #regfx)
  255.       )
  256.     )
  257.     ;else
  258.     (
  259.       (message "Nova Message:\n\nPrentend mode registration!")
  260.       (textfile
  261.        (prompt #msg_txtfl)
  262.        (help @textfile-help)
  263.        (dest "Ram:Register_ME")
  264.        (append #regfx)
  265.        (confirm)
  266.        (safe)
  267.       )
  268.     )
  269.  
  270.   )
  271.   (copyfiles
  272.       (source "ImageFX3/Help/IMP.guide.info")
  273.       (dest @default-dest)
  274.       (newname "Register_ME.info")
  275.       (optional "oknodelete" "force" "askuser")
  276.   )
  277. )
  278.  
  279. ;--
  280. (procedure MAKEASSIGNS
  281.   ;-build the commands
  282.   (set #command_1 (cat "Assign \"ImageFX3:\" " @default-dest "\n"))
  283.   (set #command_2 "If NOT EXISTS ENV:ImageFX3\n  Makedir ENV:ImageFX3\nEndIf\n")
  284.   (set #command_3 "SetEnv ImageFX/JPEG_Smoothing ON\n")
  285.   (set #f_command
  286.      (cat #command_1 #command_2 #command_3)
  287.   )
  288.   ;-put in user-startup
  289.   (startup "IMAGEFX_LITE"
  290.     (prompt #msg_stup)
  291.     (help @startup-help)
  292.     (command
  293.         (#f_command)
  294.     )
  295.   )
  296.   ;-build and run user-startup fragment, preventing reboot
  297.   (if (> (exists "T:ifx_firstrun") 0)
  298.       (delete "T:ifx_firstrun" (prompt " ") (help @delete-help) (optional "force") (safe))
  299.   )
  300.   (textfile
  301.      (prompt "Preparing to run ImageFX for the first time...")
  302.      (help @textfile-help)
  303.      (dest "T:ifx_firstrun")
  304.      (append #f_command)
  305.      (safe)
  306.   )
  307.   (execute "T:ifx_firstrun"
  308.      (prompt #msg_frstrn)
  309.      (help @execute-help)
  310.   )
  311. )
  312. ;- System Files
  313. (procedure SYSFILES
  314.   (
  315.    copyfiles
  316.     (source "sys/Pointers/")
  317.     (dest "SYS:Prefs/Presets/Pointers")
  318.     (infos)
  319.     (pattern "#?")
  320.     (optional "oknodelete" "force" "askuser")
  321.   )
  322. ;  (copylib
  323. ;    (source "sys/Classes/Gadgets/chooser.gadget")
  324. ;    (dest "SYS:Classes/Gadgets")
  325. ;    (optional "nofail" "force" "oknodelete")
  326. ;    (delopts "confirm")
  327. ;  )
  328.  
  329. ;  (copylib
  330. ;    (source "sys/Classes/images/bevel.image")
  331. ;    (dest "SYS:Classes/images")
  332. ;    (optional "oknodelete" "force" "nofail")
  333. ;    (delopts "confirm")
  334. ;  )
  335.  
  336.   (foreach
  337.     ("sys/libs/")
  338.     ("#?.library")
  339.     (
  340.       (copylib
  341.        (source (tackon "sys/libs" @each-name))
  342.        (dest "Libs:")
  343.        (optional "oknodelete" "nofail" "force")
  344.        (delopts "confirm")
  345.       )
  346.     )
  347.   )
  348.  
  349. ;  (copyfiles
  350. ;    (source "sys/libs/rexxmathlib.doc")
  351. ;    (dest "LIBS:")
  352. ;    (infos)
  353. ;    (optional "nofail" "force" "askuser")
  354. ;  )
  355.  
  356.   (if (= (exists "Fonts:Helvetica.font") 0)
  357.       (
  358.          (copyfiles
  359.              (source "sys/fonts/")
  360.              (dest "FONTS:")
  361.              (infos)
  362.              (files)
  363.              (pattern "#?")
  364.              (optional "nofail" "force" "askuser")
  365.          )
  366.       )
  367.       ; else
  368.       (
  369.       (working #font_skip)
  370.       )
  371.   )
  372. )
  373. ;--
  374. (procedure ICNCMMNTS
  375.   ;--sbrn
  376.   (set #spart_1 (cat "JA" (substr #sernum 2 2) (substr #sernum 0 2) ")"))
  377.   (set #spart_2 (cat (substr #sernum 6 2) (substr #sernum 4 2) "R7)"))
  378.   (set #spart_3 (cat (substr #sernum 10 2) (substr #sernum 8 2) "2V)"))
  379.   (set #spname (cat #uname ")"))
  380.   ;--sbrn
  381.   (tooltype
  382.     (dest (tackon @default-dest "ImageFX"))
  383.     (settooltype "(SBRN" #spart_1)
  384.   )
  385.   (tooltype
  386.     (dest (tackon @default-dest "IMP"))
  387.     (settooltype "(SBRN" #spart_1)
  388.   )
  389.   (tooltype
  390.     (dest (tackon @default-dest "AutoFX"))
  391.     (settooltype "(SBRN" #spart_1)
  392.   )
  393.   (tooltype
  394.     (dest (tackon @default-dest "Browser"))
  395.     (settooltype "(SBRN" #spart_1)
  396.   )
  397.   ;--spname
  398.   (tooltype
  399.     (dest (tackon @default-dest "ImageFX"))
  400.     (settooltype "(Registered To" #spname)
  401.   )
  402.   (tooltype
  403.     (dest (tackon @default-dest "IMP"))
  404.     (settooltype "(Registered To" #spname)
  405.   )
  406.   (tooltype
  407.     (dest (tackon @default-dest "AutoFX"))
  408.     (settooltype "(Registered To" #spname)
  409.   )
  410.   (tooltype
  411.     (dest (tackon @default-dest "Browser"))
  412.     (settooltype "(Registered To" #spname)
  413.   )
  414.   ;--sbrn
  415.   (foreach
  416.     ((tackon @default-dest "Help/"))
  417.     ("#?.guide")
  418.     (
  419.      (if (= (exists (tackon @default-dest (cat "Help/" @each-name ".info"))) 1)
  420.        (
  421.          (tooltype
  422.            (dest (tackon @default-dest (cat "Help/" @each-name)))
  423.            (settooltype "(SBRN" #spart_2)
  424.          )
  425.          (tooltype
  426.            (dest (tackon @default-dest (cat "Help/" @each-name)))
  427.            (settooltype "(Registered TO" #spname)
  428.          )
  429.        )
  430.      )
  431.     )
  432.   )
  433.   ;--shhhh.
  434.   (tooltype
  435.     (dest (tackon @default-dest "Help/AutoFX.guide"))
  436.     (settooltype "(SBRN" #spart_1)
  437.   )
  438.   ;--spname
  439.   (foreach
  440.     ((tackon @default-dest "Rexx/"))
  441.     ("#?.ifx")
  442.     (
  443.      (if (= (exists (tackon @default-dest (cat "Rexx/" @each-name ".info"))) 1)
  444.        (
  445.          (tooltype
  446.            (dest (tackon @default-dest (cat "Rexx/" @each-name)))
  447.            (settooltype "(SBRN" #spart_3)
  448.          )
  449.          (tooltype
  450.            (dest (tackon @default-dest (cat "Rexx/" @each-name)))
  451.            (settooltype "(Registered TO" #spname)
  452.          )
  453.        )
  454.      )
  455.     )
  456.   )
  457.   (tooltype
  458.     (dest (tackon @default-dest "Rexx/Flying.ifx"))
  459.     (settooltype "(SBRN" #spart_1)
  460.   )
  461. )
  462. ;--
  463. (procedure CLEANUP
  464.   (if (> (exists "T:ifx_firstrun") 0)
  465.       (delete ("T:ifx_firstrun") (prompt " ") (help @delete-help) (optional "force")(safe))
  466.   )
  467.   (message #msg_ready)
  468. )
  469.  
  470. ;------  MAIN  -----;
  471. (welcome #welmsg)
  472. (working "\n\n\nLICENSE:\n\nPlease read the End User Licence Agreement carefully. Close the window when finished, and press the button corrosponding to your acceptance or refusal of the terms of the licensing agreement.")
  473. (run "more README >NIL:" (safe))
  474. (message "\n\nSelect \"Proceed\" if you accept the licensing agreement as set forth in the README.")
  475.  
  476. (INITS)
  477.  
  478. (GETSERIAL)
  479.  
  480. (working #msg_cpy_1)
  481. (SYSFILES)
  482.  
  483. (makedir (tackon @default-dest "ImageFX_Lite") (infos))
  484. (set @default-dest (tackon @default-dest "ImageFX_Lite"))
  485.  
  486. (message #msg_uinfo)
  487.  
  488. (GETUSERINFO)
  489.  
  490. (if (> (exists "ENV:Vapor/MD2_LASTUSEDDIR") 0)
  491.   (
  492.    (message #msg_md2)
  493.    (MICRODOT)
  494.   )
  495.   ;
  496.   ((message #msg_regco))
  497. )
  498.  
  499. (working #msg_cpy_2)
  500. (copyfiles
  501.  
  502.     (source "ImageFX3/")
  503.  
  504.     (dest @default-dest)
  505.  
  506.     (infos)
  507.  
  508.     (pattern "#?")
  509.  
  510.     (optional "nofail" "force" "askuser")
  511. )
  512.  
  513. (MAKEASSIGNS)
  514. (ICNCMMNTS)
  515. (CLEANUP)
  516.  
  517. (exit (quiet))
  518.  
  519.